This page last changed on Sep 27, 2006 by bowens.

Geoserver Configuration Design

The Web Based Configuration Design document provided a series of design goals
for updating the GeoServer Configuration System:

  • Separate out the Configuration Model from the GeoServer Application
  • Build a Struts Web Interface against the Configuration Model
  • Allow XML persistence of the GeoServer Application Configuration state
  • Maintain the existing configuration file format
    To meet these requirements, Layered Architecture was proposed (Figure 1).

1.1 Design Successes

The design for the GeoServer Configuration System has:

  • Succeeded in meeting our Requirements.
  • Succeeded in separating the GeoServer application, configuration, and
    persistence subsystems
  • Succeeded in allowing unit testing of Core GeoServer components
  • Succeeded in maintaining a clear separation between GeoServer and the
    Validation Framework

1.2 Design Extensions

The previous Web Based Configuration Design document outlined the layer
structure of the GeoServer application.

Table 1 lists the GeoServer classes by both package and subsystem (interfaces
are marked in italics):

GeoTools Global DTO Config Form
  Geoserver
Contact
Geoserver
Contact DTO
GeoserverCongfig GeoserverCongfiguration Form
  WMS WMSDTO WMSConfig WMSDescriptionForm
WMSContent Form
  WFS WFSDTO WFSConfig WFSDescriptionForm
WFSContent Form
Repository Data DataDTO DataConfig  
  NamespaceInfo NamespaceDTO NamespaceConfig DataNamespacesForm
  DataStoreInfo DataStoreInfoDTO DataStoreInfoConfig DataDataStoresEditorForm
DataDataStoresNewForm
DataDataStoresSelectForm
  FeatureTypeInfo FeatureTypeInfoDTO FeatureTypeInfoConfig DataFeatureTypesEditorForm
DataFeatureTypesNewForm
DataFeatureTypesSelectForm
DataAttributeTypesNewForm
DataAttributeTypesSelectForm
  Styles StyleDTO StyleConfig DataStylesFormForm
Table 1 - GeoServer Data Matrix

The GeoTools data module has been extended with Catalog and Metadata
interfaces. The use of GeoTools2 interfaces by classes in the global layer allows
the Validation Processor to be written in an application independent manner.

1.2.1 Validation Framework Extension

The extension of our design for the validation processor to accommodate a web
based user interface was accomplished without incident.

Table 2 lists the Validation classes and interfaces by package (interfaces are
marked in italics):

Validation Validation DTO Config Form
ValidationProcessor   ValidationConfig  
PlugIn PlugInDTO PlugInConfig  
TestSuite TestSuiteDTO TestSuiteConfig ValidationTestSuiteNewForm
ValidationTestSuiteSelectForm
Validation TestDTO TestConfig ValidationTestEditorForm
ValidationTestNewForm
ValidationTestSelectForm
Table 2 - Validation Processor Data Matrix

Document generated by Confluence on Jan 16, 2008 23:26